An important feature of a database management system (“DBMS”) is to process requests from clients by retrieving requested information from a database and transmitting that information to the clients. A database session (referred to simply as a session) is a particular connection established for a client and a DBMS through which a series of request may be made. The requests are carried out by one or more session processes. The requests, which may be in the form of function or remote procedure invocations, include requests to begin execution of a transaction, to execute queries, to perform updates and other types of transaction operations, to commit or otherwise terminate a transaction, and to terminate a database session.
The DBMS on which a database session is established maintains session state data that reflects the current state of a database session. Such information contains, for example, the identity of the client for which the session was established, the session transaction state, and temporary variable values generated by processes and database components executing software within a session.
A database component is a set of software modules that provide specialized and related functions for a database server. Non-limiting examples of database components include a cursor component (e.g., for managing cursors within a database server), a PL/SQL component (e.g., for executing code written in PL/SQL), a session parameter component (e.g., for managing attributes that generally control how calls and requests associated with a session are processed), and a Java component (e.g., for executing code written in Java).